Purity in Erlang

نویسندگان

  • Mihalis Pitidis
  • Konstantinos Sagonas
چکیده

Motivated by a concrete goal, namely to extend Erlang with the ability to employ user-defined guards, we developed a parameterized static analysis tool called PURITY, that classifies functions as referentially transparent (i.e., sideeffect free with no dependency on the execution environment and never raising an exception), side-effect free with no dependencies but possibly raising exceptions, or side-effect free but with possible dependencies and possibly raising exceptions. We have applied PURITY on a large corpus of Erlang code bases and report experimental results showing the percentage of functions that the analysis definitely classifies in each category. Moreover, we discuss how our analysis has been incorporated on a development branch of the Erlang/OTP compiler in order to allow extending the language with user-defined guards.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cold standby redundancy optimization for nonrepairable series-parallel systems: Erlang time to failure distribution

In modeling a cold standby redundancy allocation problem (RAP) with imperfect switching mechanism, deriving a closed form version of a system reliability is too difficult. A convenient lower bound on system reliability is proposed and this approximation is widely used as a part of objective function for a system reliability maximization problem in the literature. Considering this lower bound do...

متن کامل

Hotel Location Problem Using Erlang Queuing Model under Uncertainty (RESEARCH NOTE)

Determining and selecting an appropriate location to construct a hotel is one of the most challenging concerns which hotel industry investors are facing with. In this study we attempt to find a suitable response to this research/application need by a mathematical model using the queueing theory and the fuzzy logic. Therefore hotel, the reception system and travelers accommodations are formulate...

متن کامل

Working Title: Chain Replication In Theory and in Practice Chain Replication In Theory and in Practice

When implementing a distributed storage system, using an algorithm with a formal definition and proof is a wise idea. However, translating any algorithm into running code can be difficult. Staff at Google have documented the difficulties in implementing the Paxos algorithm: making the implementation correct andreaching performance goals. In the spirit of justaposing the purity of theory and pro...

متن کامل

An introduction to Core Erlang

Core Erlang is a new, o ial ore language for the on urrent fun tional language Erlang. Core Erlang is fun tional, stri t, dynami ally typed, pattern mat hing, higher order and on urrent. It has been developed in ooperation between the High-Performan e Erlang proje t at Uppsala University and the Erlang/Open Tele om Platform development team at Eri sson, and is a entral omponent in the new relea...

متن کامل

A Scalable Reliable Instant Messenger Using the SD Erlang A Scalable Reliable Instant Messenger Using the SD Erlang Libraries

Erlang has world leading reliability capabilities, but while it scales extremely well within a single node, distributed Erlang has some scalability issues. The Scalable Distributed (SD) Erlang libraries have been designed to address the scalability limitations while preserving the reliability model, and shown to deliver significant performance benefits above 40 hosts using some relatively simpl...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010